home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
ABUSESRC.ZIP
/
AbuseSrc
/
imlib
/
include
/
emm.hpp
< prev
next >
Wrap
C/C++ Source or Header
|
1996-04-11
|
1KB
|
50 lines
#ifndef __EMM_H_
#define __EMM_H_
#include "system.h"
#ifdef __DOS // this stuff is DOS specific, don't include
// on other systems
#include "linked.hpp"
class emblock : public linked_node
{
public :
unsigned beg,end;
int emhandle;
emblock *nextblk;
} ;
class expandedmm
{
public :
unsigned frame_ad;
long frmsz;
linked_list allocblks,freeblks;
expandedmm();
emblock *alloc(unsigned size);
void free(emblock *block);
void free_all();
long avail() { return frmsz; }
void set(emblock *block, char *dat);
void get(emblock *block, char *dat);
~expandedmm() { free_all(); }
} ;
extern expandedmm epmem;
extern int emm_avail;
int EMM_detect();
int EMM_num_free_pages();
int EMM_version();
int EMM_num_active_handles();
long EMM_free_memory();
int EMM_alloc(int pages); // remeber pages are 16K, 16384 bytes
// returns handle or -1
int EMM_free(int handle); // returns true for success
unsigned EMM_frame_address();
void EMM_map_page(int handle);
#endif
#endif